﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

//输入任意一个整数计算除以3后的余数
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	if (n % 3 == 0)
//		printf("整除，余数为0\n");
//	else if (n % 3 == 1)
//		printf("余数为1\n");
//	else
//		printf("余数是2\n");
//	return 0;
//}

//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	switch (n % 3)
//	{
//	//switch:语句case和后面数字之间必须有空格
//	//每一个case语句执行完成后后都要有break，才能跳出这个语句
//	case 0:
//		printf("整除，余数为0\n");
//		break;
//	case 1:
//		printf("余数为1\n");
//		break;
//	case 2:
//		printf("余数为2\n");
//		break;
//	default:
//		break;
//	}
//	return 0;
//}

//输入1-7，打印对应的星期几
//int main()
//{
//	int day = 0;
//	scanf("%d", &day);
//	switch (day)
//	{
//	case 1:
//		printf("星期一");
//		break;
//	case 2:
//		printf("星期二");
//		break; 
//	case 3:
//		printf("星期三");
//		break; 
//	case 4:
//		printf("星期四");
//		break;
//	case 5:
//		printf("星期五");
//		break; 
//	case 6:
//		printf("星期六");
//		break; 
//    case 7:
//		printf("星期天");
//		break;
//	default:
//		break;
//	}
//	return 0;
//}

//1-5工作日，6-7休息日
//int main()
//{
//	int day = 0;
//	scanf("%d", &day);
//	switch (day)
//	{
//	case 1:
//	case 2:
//	case 3:
//	case 4:
//	case 5:
//		printf("工作日\n");
//		break;
//	case 6:
//	case 7:
//		printf("休息日\n");
//		break;
//	default:
//		//在switch语句中default用于处理其他情况的输入值，可以放在任何位置
//		printf("输入错误！\n");
//		break;
//	}
//	return 0;
//}

//int main()
//{
//	if (1)
//		printf("hehe\n");
//	return 0;
//}

//int main()
//{
//	while (1)
//		printf("haha\n");
//	//while后边的条件满⾜，死循环的打印haha
//	return 0;
//}

//int main()
//{
//	int i = 1;
//	while (i <= 10)
//	{
//		printf("%d ", i);
//		i++;
//	}
//	return 0;
//}

//int main()
//{
//	int i = 0;
//	scanf("%d", &i);
//	while (i)
//	{
//		//通过%10来逆序打印整数
//		printf("%d\n", i % 10);
//		i /= 10;
//	}
//	return 0;
//}

//int main()
//{
//	for (int i = 1; i <= 10; i++)
//	{
//		printf("%d ", i);
//	}
//	return 0;
//}

//int main()
//{
//	int i = 0;
//	int sum = 0;
//	for ( i = 1; i <= 100; i++)
//	{
//		if (i % 3 == 0)
//			sum += i;
//	}
//	printf("%d\n", sum);
//	return 0;
//}

//do-while语句会先执行再判断，输入11会输出11，while语句不符合不会进行循环
//所以do while语句至少执行一次
//int main()
//{
//	int i = 1;
//	do
//	{
//		printf("%d ", i);
//		i += 1;
//	} while (i<=10);
//	return 0;
//}

//int main()
//{
//	int i = 0;
//	scanf("%d", &i);
//	int cnt = 0;
//	do
//	{
//		cnt++;
//		i /= 10;
//	} while (i);
//	printf("%d", cnt);
//	return 0;
//}

//break 的作⽤是⽤于永久的终⽌循环，只要 break 被执⾏，直接就会跳出循环，继续往后执⾏。
//continue 的作⽤是跳过本次循环 continue 后边的代码，在 for 循环和 while 循环中有所差异的
//int main() 
//{
//	int i = 0;
//	while (i <= 10)
//	{
//		if (i == 5)
//			break;
//		printf("%d ", i);//1 2 3 4
//		i++;
//	}
//	return 0;
//}


//int main()
//{
//	int i = 1;
//	while (i <= 10)
//	{
//		if (i == 5)
//			continue;
//		//当i等于5后，就执⾏continue，直接跳过continue的代码，去循环的判断的地⽅
//		//因为这⾥跳过了i = i+1，所以i⼀直为5，程序陷⼊和死循环
//		printf("%d ", i);//1 2 3 4 到5后从continue跳过后面自增和打印，i一直为5会停在if(i == 5)
//		i = i + 1;
//	}
//	return 0;
//}

//int main()
//{
//	for (int i = 1; i <=10; i++)
//	{
//		if (i == 5)
//			break;
//		printf("%d ", i);//1 2 3 4 
//	}
//	return 0;
//}

//int main()
//{
//	for (int i = 1; i <= 10; i++)
//	{
//		if (i == 5)
//			continue;
//		printf("%d ", i);//1 2 3 4 6 7 8 9 10
//	}
//	return 0;
//}


//判断100-200素数
//int main()
//{
//	//生成100-200之间的整数
//	for (int i = 100; i < 200; i++)
//	{
//		int flag = 1;//判断素数，1为真，0为假
//		for (int j = 100; j < i; j++)
//		{
//			if (i % j == 0)
//				//判断i是否能被1和自身以外的整数整除
//			{
//				flag = 0;
//				break;
//			}
//		}
//		if (flag == 1)
//		{
//			printf("%d ", i);
//		}
//	}
//	return 0;
//}

//goto语句
//int main()
//{
//	printf("hehe\n");
//	goto next;
//	printf("haha\n");
//
//next:
//	printf("跳过了haha的打印\n");
//	return 0;
//}
#include <stdlib.h>
#include <time.h>
void game()
{
	int r = rand() % 100 + 1;
	int guess = 0;
	int count = 5;
	while (1)
	{
		printf("你还有%d次机会\n",count);
		printf("猜数字>:");
		scanf("%d", &guess);
		if (guess < r)
		{
			printf("猜小了");
		}
		else if (guess > r)
		{
			printf("猜大了");
		}
		else
		{
			printf("猜对了");
			break;
		}
		count--;
	}
	if (count == 0)
	{
		printf("game over\n");
		printf("正确值是%d\n", r);
	}

	
}

void menu()
{
	printf("***********************\n");
	printf("****** 1. play ******\n");
	printf("****** 0. exit ******\n");
	printf("***********************\n");
}

int main()
{
	int input = 0;
	srand((unsigned int)time(NULL));
	do
	{
		menu();
		printf("请选择:>");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			game();
			break;
		case 0:
			printf("game over");
			break;
		default:
			printf("选择错误重新选择");
			break;
		}

	} while (input);
	return 0;
}